#ifndef __PROJECT_PLUGIN_H__
#define __PROJECT_PLUGIN_H__

class ProjectTree;

#include <QtCore/QObject>

#include "juffed/JuffPlugin.h"

class ProjectPlugin : public QObject, public JuffPlugin {
Q_OBJECT
Q_INTERFACES(JuffPlugin)
public:
	ProjectPlugin();
	virtual ~ProjectPlugin();
	virtual void init();

	//	info
	virtual QString name() const;
	virtual QString description() const;
	virtual QString targetEngine() const;

	//	controls
	virtual QWidgetList dockList() const;
	virtual QMenu* menu() const;


public slots:
	void onPrjFileAdded(Juff::Project*, const QString&);
	void onPrjFileRemoved(Juff::Project*, const QString&);
	void onPrjOpened(Juff::Project*);

protected slots:
	void onFileOpenRequested(const QString&);

private:
	ProjectTree* tree_;
	QMenu* menu_;
};

#endif // __PROJECT_PLUGIN_H__
